package com.sunyur.tailor.channel.service.inner.purchase.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author U
 * @Description
 * @date 2022/6/9
 */
@Data
public class StrategyOrderItemsVO implements Serializable {

    private static final long serialVersionUID = -7370365300255689397L;
    /**
     * 上游数据单code
     */
    private String upstreamCode;
    /**
     * 上游数据行code
     */
    private String upstreamItemCode;
    /**
     * 行编码
     */
    private Long code;
    /**
     * 物料编号
     */
    private String materialCode;
    /**
     * 物料名称
     */
    private String materialName;
    /**
     * 物料分类
     */
    private String materialClassify;
    /**
     * 物料分类code
     */
    private String materialClassCode;
    /**
     * 物料描述
     */
    private String materialDesc;
    /**
     * 品牌
     */
    private String brand;
    /**
     * 物料规格
     */
    private String materialSpec;
    /**
     * 单位code
     */
    private String unitCode;
    /**
     * 单位名称
     */
    private String unit;
    /**
     * 预估单价
     */
    private BigDecimal estimatedUnitPrice;
    /**
     * 期望交货日期
     */
    private String expectedDeliveryDate;
    /**
     * 备注
     */
    private String remark;
    /**
     * 对外备注
     */
    private String openRemark;
    /**
     * 采购数量
     */
    private Integer count;
    /**
     * 附件
     */
    private List<AttachmentsVO> attachments;
    /**
     * 条款规则参数
     */
    private String terms;
    /**
     * 送货地区
     */
    private String deliveryArea;
    /**
     * 行类型数据
     */
    private ItemLineParamVO itemLineParam;
    /**
     * 币种
     */
    private String currency;


    @Data
    public static class ItemLineParamVO implements Serializable{
        private static final long serialVersionUID = 8582479190816695895L;
        /**
         * 行类型code
         */
        private String itemTypeCode;
        /**
         * 行类型名称
         */
        private String itemTypeName;
        /**
         * 行类型分类code
         */
        private String lineTypeCode;
        /**
         * 行类型分类名称
         */
        private String lineTypeName;
    }

    @Data
    public static class AttachmentsVO implements Serializable{
        private static final long serialVersionUID = 8228721202208907625L;
        private String url;
        private String name;
    }
}
